package com.qf.utils;

import com.mysql.cj.jdbc.Driver;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

/**
 *
 * DBHelper：数据库访问的工具类 - 可以直接执行sql语句
 */
public class DBHelper {

//     【1】数据库的相关信息
    public static final String url = "jdbc:mysql://47.115.231.154:3306/jgpy_a";
    public static final String username = "dmsTest";
    public static final String password = "Www.311037";
//     【2】创建数据操作的变量
    public static Connection connection = null;
    // PreparedStatement:表示预编译的sql语句对象-在执行sql语句的时候可以多次执行
    public static PreparedStatement pst = null;

//     【3】数据库的操作函数
    public DBHelper(String sql){
    //     3.1 驱动
        try {
            Driver driver = new Driver();
            DriverManager.registerDriver(driver);
        //     3.2 链接数据库
            connection = DriverManager.getConnection(url,username,password);
        //     3.3 创建预编译的sql对象
            pst = connection.prepareStatement(sql);
        //     3.4 关于sql语句的执行和结果 - 管理交给调用者来执行
        //     pst.executeUpdate()

        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
//     关闭数据库的相关链接 - 避免占用
//     后续使用的时候 - 调用DBHelper.close()就可以关闭对应的链接了
    public void close(){
        if(connection!=null){
            try {
                pst.close();
                connection.close();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }

        }
    }


}
